const path = require('path');

module.exports = {

	//### 环境相关 
	CLOUD_ID: 'cloudbase-6g1qtu8fb88a35c1', //你的云环境id 

	ADMIN_NAME: 'admin', // 管理员账号（5-30位)
	ADMIN_PWD: '123456', // 管理员密码（5-30位) 


	// ##################################################################  
	PID: 'A00',
	IS_DEMO: false,

	NEWS_CATE: '1=小店动态,2=宠物常识,3=服务指南',
	MEET_TYPE: '1=项目预约',

	// #### 宠物相关配置
	PET_GENDER: '公,母',
	PET_CATEGORY: '狗狗,猫猫',

	// #### 预约状态配置
	APPOINTMENT_STATUS: {
		PENDING_PAYMENT: 101,    // 待支付
		PAID_WAITING: 201,       // 已支付/待服务
		IN_SERVICE: 301,         // 服务中
		COMPLETED: 302,          // 已完成
		CANCELLED: 401           // 已取消
	},

	// #### 门店状态配置
	STORE_STATUS: {
		OPEN: 1,     // 营业中
		CLOSED: 0    // 休息中
	},

	// #### 员工状态配置
	EMPLOYEE_STATUS: {
		ON_DUTY: 1,  // 在岗
		OFF_DUTY: 0  // 休假
	},

	// #### 设备状态配置
	DEVICE_STATUS: {
		IN_USE: 2,      // 使用中
		AVAILABLE: 1,   // 可用
		MAINTENANCE: 0  // 维修中
	},
	// ##################################################################
	// #### 调试相关 
	TEST_MODE: false,
	TEST_TOKEN_ID: '',
	DEVICE_AUTO_CLOSE_TEST_SECONDS: 0,

	// #### TEST_MODE 细粒度控制
	TEST_CONFIG: {
		// 是否启用真实微信支付（false=跳过真实支付，使用模拟支付）
		ENABLE_REAL_WECHAT_PAY: true,
		// 是否启用真实短信发送（false=跳过真实短信）
		ENABLE_REAL_SMS: false,
		// 是否启用真实邮件发送（false=跳过真实邮件）
		ENABLE_REAL_EMAIL: false,
		// 是否启用真实推送通知（false=跳过真实推送）
		ENABLE_REAL_PUSH: false,
		// 其他API接口是否正常工作（true=正常工作）
		ENABLE_OTHER_APIS: true,
		// 是否启用数据库操作（true=正常数据库操作）
		ENABLE_DATABASE: true,
		// 是否启用文件上传（true=正常文件操作）
		ENABLE_FILE_UPLOAD: true,
		// 是否启用真实设备列表（false=返回模拟设备列表）
		ENABLE_REAL_DEVICE_LIST: true,
		// 是否启用真实设备状态与管理（true=在TEST_MODE下也走真实设备状态恢复、实时状态、离线更新等）
		ENABLE_REAL_DEVICE_STATUS: true,
		// 是否启用真实设备控制（true=在TEST_MODE下也使用真实设备数据与MQTT控制）
		ENABLE_REAL_DEVICE_CONTROL: true,
		// 是否启用真实设备订单处理（true=在TEST_MODE下也完成设备订单等流程）
		ENABLE_REAL_DEVICE_ORDER: true
	},

	COLLECTION_NAME: 'ax_admin|ax_cache|ax_day|ax_export|ax_join|ax_log|ax_meet|ax_news|ax_setup|ax_temp|ax_user|ax_pets|ax_stores|ax_services|ax_employees|ax_devices|ax_appointments|ax_coupon_templates|ax_user_coupons|ax_announcements|ax_access_logs',

	DATA_EXPORT_PATH: 'export/', //数据导出路径
	MEET_TIMEMARK_QR_PATH: 'meet/usercheckin/', //用户签到码路径 
	DOOR_QR_PATH: 'door/qr/', //门禁二维码路径
	STORE_COVER_PATH: 'store/cover/', //门店封面图路径
	PET_AVATAR_PATH: 'pet/avatar/', //宠物头像路径
	EMPLOYEE_AVATAR_PATH: 'employee/avatar/', //员工头像路径

	// ## 缓存相关 
	IS_CACHE: true, //是否开启缓存
	CACHE_CALENDAR_TIME: 60 * 30, //日历缓存   

	// #### 内容安全
	CLIENT_CHECK_CONTENT: false, //前台图片文字是否校验
	ADMIN_CHECK_CONTENT: false, //后台图片文字是否校验    

	// #### 预约相关
	MEET_LOG_LEVEL: 'debug',

	// #### 门禁控制相关
	DOOR_ACCESS_ADVANCE_TIME: 30, //提前多少分钟可以开门（分钟）
	DOOR_ACCESS_DELAY_TIME: 15, //迟到多少分钟内还可以开门（分钟）
	DOOR_LOCK_TIMEOUT: 10, //门锁开启超时时间（秒）

	// #### 设备监控相关配置
	DEVICE_MONITORING: {
		// 设备状态检查间隔（毫秒）
		STATUS_CHECK_INTERVAL: 30000, // 30秒
		// 设备离线判定时间（毫秒）
		OFFLINE_THRESHOLD: 120000, // 2分钟
		// MQTT连接超时时间（毫秒）
		MQTT_CONNECTION_TIMEOUT: 10000, // 10秒
		// 故障处理重试次数
		FAULT_RETRY_COUNT: 3,
		// 故障处理重试间隔（毫秒）
		FAULT_RETRY_INTERVAL: 5000, // 5秒
		// 是否启用自动故障处理
		ENABLE_AUTO_FAULT_HANDLING: true,
		// 故障历史记.录保留天数
		FAULT_HISTORY_RETENTION_DAYS: 30,
		// 监控数据保留天数
		MONITORING_DATA_RETENTION_DAYS: 7
	},

	// ### 后台业务相关
	ADMIN_LOGIN_EXPIRE: 86400, //管理员token过期时间 (秒) 

	// ===== 微信支付（v3）相关配置：严禁在仓库存放敏感信息 =====
	WXPAY: {
		MCHID: process.env.WXPAY_MCHID || '1729831097',
		APPID: process.env.WXPAY_APPID || 'wx5ca4649021d27e03',
		API_V3_KEY: process.env.WXPAY_API_V3_KEY || 'k9RmP2sL8wQ4zXvB6tNcY3aH7jGfD1qE',
		SERIAL_NO: process.env.WXPAY_SERIAL_NO || '17BE1BD8822EEDA2974A735E1967BA0DDB58FFAF',
		PLATFORM_CERT_PATH: process.env.WXPAY_PLATFORM_CERT_PATH || path.join(__dirname, '../pay/wechatpay_pub_key.pem'),
		PLATFORM_CERT_ID: process.env.WXPAY_PLATFORM_CERT_ID || '',
		MCH_PRIVKEY_PATH: process.env.WXPAY_MCH_PRIVKEY_PATH || path.join(__dirname, '../pay/apiclient_key.pem'),
		// 新增：商户API证书（用于 wechatpay-node-v3 提取证书序列号）
		MCH_CERT_PATH: process.env.WXPAY_MCH_CERT_PATH || path.join(__dirname, '../pay/apiclient_cert.pem'),
		// ⚠️ 重要：正式环境需要修改为正式环境的回调地址
		// 测试环境：https://cloudbase-6g1qtu8fb88a35c1-1377563693.ap-shanghai.app.tcloudbase.com
		// 正式环境：需要通过环境变量 WXPAY_NOTIFY_BASE_URL 配置，或在微信支付商户平台配置
		NOTIFY_BASE_URL: process.env.WXPAY_NOTIFY_BASE_URL || 'https://superbebepet.com',
		NOTIFY_APPOINTMENT_PATH: '/wxpay/notify/appointment',
		NOTIFY_RECHARGE_PATH: '/wxpay/notify/recharge',
		NOTIFY_DEVICE_PATH: '/wxpay/notify/device',
		// ⚠️ 测试配置：一分测试开关（暂时保留，待测试完成后需要改为 false）
		// true 表示在非 TEST_MODE 下也强制支付金额为 1 分
		// 正式上线前请修改为 false
		FORCE_ONE_CENT: true
	}
}